#include "gamehall.h"
#include "ui_gamehall.h"
#include "gameselect.h"
#include <QPainter>
#include <QPixmap>
#include <QIcon>
#include <QPushButton>
#include <QFont>
#include <QSound>

GameHall::GameHall(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::GameHall)
{
    ui->setupUi(this);

    // 调整窗口大小
    this->setFixedSize(1500,1200);

    // 设置窗口图标
    this->setWindowIcon(QIcon(":res/res/ico.png"));
    this->setWindowTitle("贪吃蛇游戏");

    // 开始按钮
    QPushButton *strBtn=new QPushButton(this);
    strBtn->move(650,800); // 移动到合适的窗口，哇一个人650真的不够

    // 设置字体
    QFont font("华文琥珀",24);
    strBtn->setFont(font);

    // 设置字体颜色为黄色
    QPalette palette = strBtn->palette();
    palette.setColor(QPalette::ButtonText, Qt::yellow);
    strBtn->setPalette(palette);

    // 输入按钮文字
    strBtn->setText("开始游戏");

    // 设置样式，设置为没有边框
    strBtn->setStyleSheet("QPushButton{border:0px}");


    // 要跳转的窗口
    GameSelect *gameSelect=new GameSelect;

    // 点击按钮跳转到界面，要使用信号槽，lambda表达式
    connect(strBtn,&QPushButton::clicked,[=](){
        this->close();
        gameSelect->setGeometry(this->geometry());
        gameSelect->show();

        QSound::play(":res/res/clicked.wav");
    });
}

GameHall::~GameHall()
{
    delete ui;
}

void GameHall::paintEvent(QPaintEvent *event)
{
    // 实例化画家对象，QPainter用于在各种设备上画画
    QPainter painter(this);

    // 实例化绘图设备，QPixmap是用于处理图像的类
    QPixmap pix(":res/res/game_hall.png");

    // 绘图，在当前的窗口设置图形类pix
    painter.drawPixmap(0,0,this->width(),this->height(),pix);
}
